package com.yida.gwj.expend.outside.service;

import java.util.List;

import com.yida.gwj.expend.outside.domain.GwjMaintenanceFundsBusinessOwner;

/**
 * 业务业主信息Service接口
 *
 * @author lgp
 * @date 2023-02-20
 */
public interface IGwjMaintenanceFundsBusinessOwnerService {
    /**
     * 查询业务业主信息
     *
     * @param businessOwnerId 业务业主信息主键
     * @return 业务业主信息
     */
    GwjMaintenanceFundsBusinessOwner selectGwjMaintenanceFundsBusinessOwnerByBusinessOwnerId(Long businessOwnerId);

    /**
     * 查询业务业主信息列表
     *
     * @param gwjMaintenanceFundsBusinessOwner 业务业主信息
     * @return 业务业主信息集合
     */
    List<GwjMaintenanceFundsBusinessOwner> selectGwjMaintenanceFundsBusinessOwnerList(GwjMaintenanceFundsBusinessOwner gwjMaintenanceFundsBusinessOwner);

    /**
     * 新增业务业主信息
     *
     * @param gwjMaintenanceFundsBusinessOwner 业务业主信息
     * @return 结果
     */
    int insertGwjMaintenanceFundsBusinessOwner(GwjMaintenanceFundsBusinessOwner gwjMaintenanceFundsBusinessOwner);

    /**
     * 修改业务业主信息
     *
     * @param gwjMaintenanceFundsBusinessOwner 业务业主信息
     * @return 结果
     */
    int updateGwjMaintenanceFundsBusinessOwner(GwjMaintenanceFundsBusinessOwner gwjMaintenanceFundsBusinessOwner);

    /**
     * 批量删除业务业主信息
     *
     * @param businessOwnerIds 需要删除的业务业主信息主键集合
     * @return 结果
     */
    int deleteGwjMaintenanceFundsBusinessOwnerByBusinessOwnerIds(Long[] businessOwnerIds);

    /**
     * 删除业务业主信息信息
     *
     * @param businessOwnerId 业务业主信息主键
     * @return 结果
     */
    int deleteGwjMaintenanceFundsBusinessOwnerByBusinessOwnerId(Long businessOwnerId);

    /**
     * 删除业务业主信息信息-通过业务ID
     *
     * @param bizId 业务业主信息主键
     * @return 结果
     */
    int deleteGwjMaintenanceFundsBusinessOwnerByBusinessId(Long bizId);

    /**
     * 查询业务业主信息-通过业务ID
     *
     * @param bizId 业务业主信息主键
     * @return 业务业主信息
     */
    GwjMaintenanceFundsBusinessOwner selectGwjMaintenanceFundsBusinessOwnerByBusinessId(Long bizId);

    /**
     * 批量修改业务房屋信息
     *
     * @param maintenanceFundsBusinessOwnerList 维修基金业务列表
     * @return 业务房屋信息
     */
    int updateBatchGwjMaintenanceFundsBusinessOwner(List<GwjMaintenanceFundsBusinessOwner> maintenanceFundsBusinessOwnerList);

    /**
     * 批量插入gwj业务业主列表
     *
     * @param gwjMaintenanceFundsBusinessOwnerList gwj维修基金业务所有者列表
     * @return int
     */
    int insertBatchGwjMaintenanceFundsBusinessOwner(List<GwjMaintenanceFundsBusinessOwner> gwjMaintenanceFundsBusinessOwnerList);

    // --------------------------------20230620 新增功能区 hmh--------------------------------------------
    /**
     * 根据业务ID和房屋标识码更新业主信息
     * 
     * @param gwjMaintenanceFundsBusinessOwner
     * @return
     */
    public int updateGwjMaintenanceFundsBusinessOwnerByBizIdAndHouseCode(GwjMaintenanceFundsBusinessOwner gwjMaintenanceFundsBusinessOwner);

    /**
     * 根据业务ID和房屋标识码查询业主信息
     * 
     * @param gwjMaintenanceFundsBusinessOwner
     * @return
     */
    public GwjMaintenanceFundsBusinessOwner selectGwjMaintenanceFundsBusinessOwnerByBizIdAndHouseCode(Long bizId, String houseCode);

    /**
     * 批量更新业主信息
     * 
     * @param list
     * @return
     */
    public int updateBatchGwjMaintenanceFundsBusinessOwnerByBizIdAndHouseCode(List<GwjMaintenanceFundsBusinessOwner> list);
    // ---------------end
}
